package com.example.demo.controller;

import com.example.demo.utils.TokenUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 限流项目可参考 limit-spring-boot-starter项目
 */
@Slf4j
@RestController
public class TokenController {

    @Resource
    private TokenUtil tokenUtil;

    @GetMapping("/token")
    public String getToken(@RequestParam("data") String data){
        // 获取 Token 字符串，并返回
        return tokenUtil.generateToken(data);
    }


    @GetMapping("/test")
    public String test(@RequestParam("data") String data) {
        // 获取用户信息（这里使用模拟数据）
        // 根据 Token 和与用户相关的信息到 Redis 验证是否存在对应的信息
        boolean result = tokenUtil.validToken(data);
        // 根据验证结果响应不同信息
        return result ? "重复调用" : "正常调用";
    }
}
